package cn.foolishbird.crow.core;

/**
 * @author foolish bird
 * @email luohongtu@foolishbird.cn
 */
public interface DBObject<ID> {

    /**
     * 主键
     *
     * @return 主键
     */
    ID id();

    /**
     * 创建时间
     *
     * @return 创建时间
     */
    Long createTime();

    /**
     * 创建人
     *
     * @return 创建人
     */
    String createBy();

    /**
     * 修改时间
     *
     * @return 修改时间
     */
    Long updateTime();

    /**
     * 修改人
     *
     * @return 修改人
     */
    String updateBy();

    /**
     * 逻辑删除
     *
     * @return 逻辑删除 如果true，逻辑删除，如果false，则是非逻辑删除
     */
    Boolean deleteFlag();

}
